Union Find
Incremental Bridge-Connectivity
Operations
頂点の無向グラフを扱う
空間計算量
頂点の辺を持たないグラフを作成する.
時間計算量
無向辺を追加する.
時間計算量
とが二辺連結か判定する.
時間計算量
Summary
連結成分と二辺連結成分のそれぞれをUnion Findで管理する.
また, 二辺連結成分を圧縮して得られる森を, 各頂点が親を保持する形で管理する.
とが非連結の場合
の属する木がのそれより小さいとする.
適宜辺を反転してを根にし, の親をにすることで木を連結する.
とが連結の場合
パス上の頂点を全て同じ二辺連結成分としてまとめる.
とから交互に親を辿ることにより, パス長のオーダーでパス上の頂点を列挙する.
References
Notes
内部で二辺連結成分のUnion Findを管理しているため, 連結性判定の他にも代表元の取得などが可能.
ある辺が橋であるかどうかの判定もできる
とが非連結の場合は, 辺に橋フラグを立てる
とが連結の場合, パス上の辺の橋フラグを取り除く
よりオーダーが高速なアルゴリズムも同論文で示されている.
Implementations